package com.cms.recursoshumanos.activity.user.recibo;

import com.example.frontendrecursoshumanos.R;
import com.cms.recursoshumanos.activity.main.MainRecursosHumanosActivity;
import com.cms.recursoshumanos.cache.ListaReciboCache;
import com.cms.recursoshumanos.cache.UserInfoCache;
import com.cms.recursoshumanos.handler.ListaReciboActivityHandler;
import com.cms.recursoshumanos.object.Recibo;
import com.cms.recursoshumanos.object.Usuario;
import com.cms.recursoshumanos.utilities.Tool;

import android.os.AsyncTask;
import android.os.Bundle;
import android.app.ProgressDialog;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class DetailReciboActivity extends MainRecursosHumanosActivity 
{
	private static Recibo elRecibo;
	private static Usuario elUsuario;
	protected PlanillaReciboAsync asyncPlanillaReciboTask;
	private ProgressDialog dialog;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_detail_recibo);
		elUsuario = UserInfoCache.getInstance().getUsuario();
		Bundle bundle = getIntent().getExtras();
		int id_recibo = Integer.parseInt(bundle.getString("id_recibo"));
		elRecibo = ListaReciboCache.getInstance().getListaRecibo().getReciboById(id_recibo);
		
		setComponents();
	}
	@Override
	protected void onResume() 
	{
		super.onResume();
		if (elUsuario == null)
		{
			elUsuario = UserInfoCache.getInstance().getUsuario();
		}
	}

	
	
	public void onPlanillaReciboClick(View v)
	{
		asyncPlanillaReciboTask = new PlanillaReciboAsync(elUsuario);
		asyncPlanillaReciboTask.execute();
	}
	
	private void setComponents()
	{
		LinearLayout layout_info_general = (LinearLayout) findViewById(R.id.llInformacionGeneral);
		RelativeLayout layout_recibo_portrait = (RelativeLayout) findViewById(R.id.rlReciboPortrait);
		
		TextView numero_recibo = (TextView) layout_recibo_portrait.findViewById(R.id.tvPortaitNombreRecibo);
		
		TextView fecha_recibo_second_row = (TextView) layout_info_general.findViewById(R.id.tvValueFechaEmisionRecibo);
		TextView monto_recibo_second_row = (TextView) layout_info_general.findViewById(R.id.tvValueMontoRecibo);
		TextView status_recibo_second_row = (TextView) layout_info_general.findViewById(R.id.tvValueStatusRecibo);

		
		//*--------------Seteo de Portait------------------------------------
		numero_recibo.setText("Recibo Nro. "+elRecibo.getNumeroRecibo());
		
		//*--------------Seteo de Detalle------------------------------------
		fecha_recibo_second_row.setText(Tool.getInstance().parseDateToString(elRecibo.getFechaRecibo(), 2));
		monto_recibo_second_row.setText(""+elRecibo.getMontoRecibo());
		status_recibo_second_row.setText(elRecibo.getTipoStatusRecibo().getNombreTipoRecibo());
		
		
		
	}
	
	private class PlanillaReciboAsync extends AsyncTask<String, Void, String>
	{
		
		private Usuario elUsuario;

		public  PlanillaReciboAsync(Usuario elUsuario)
	    {
			this.elUsuario = elUsuario;
	    }
		@SuppressWarnings("deprecation")
		@Override
		protected void onPreExecute()
		{
			showDialog(0);
			dialog = ProgressDialog.show(DetailReciboActivity.this, "Espere","Cargando...",true );
		}
	
		@Override
		protected String doInBackground(String... arg0) 
		{
			ListaReciboActivityHandler handler = new ListaReciboActivityHandler();
			String result = handler.getPlanillaRecibo(this.elUsuario.getNombre_Usuario(),
														this.elUsuario.getPassword(),
														elRecibo);
			return result;
		}
		
		@Override
		public void onPostExecute(String  result)
		{
			
			String str_result = result;
			
			Tool.getInstance().showMessagePeticion(str_result);
			
			dialog.cancel();
			this.cancel(true);
		}
		
	}
	

}
